其他
程序员脱发秘籍,Hairstyle Transfer 你值得拥有!
点击上方“Jack Cui”,选择“加为星标”
第一时间关注技术干货!
1
不得不说,这部网剧看得过瘾,回想起来,也总觉得意犹未尽。
一起去爬山吗?
您看我还有机会吗?
2
3
conda create -n tf python=3 jupyter notebook
conda install scipy tensorflow-gpu==1.15
python -m pip install cmake
python -m pip install dlib
python -m pip install imutils tornado==4.1
conda install tqdm requests pillow keras opencv scikit-learn
4
我们以「张东升」的图片为例进行训练以及效果测试。
图片下载地址:https://cuijiahua.com/wp-content/uploads/2020/07/photo_1.png
将项目下载到本地:
git clone https://github.com/Azmarie/Hairstyle-Transfer
然后你会得到三个 jupyter 的 ipynb 文件。
依照上述顺序跑通代码。
StyleGAN_Encoder 会生成 output_vectors.npy 文件。
Get_attribute_score_pairs 会 stylegan-dlatents.npy 和 9_score.npy 文件。
然后,Train_Boundaries 使用 stylegan-dlatents.npy 和 9_score.npy 训练 Boundaries。
这里用到了 SVM 分类器,将控制头发的特征向量分出来,得到 boundary.npy,用于后续发型的控制。
最后,再使用 output_vectors.npy 和 boundary.npy,即可控制头发的多少。
ipynb 详细说明了代码需要如何运行,依照它的教程,按照次序运行程序即可。
里面详细说明了,怎么裁剪图片,怎么训练等。
代码中用到了很多 Google Drive 保存的权重文件,我将这些权重文件,都上传到了我的百度网盘。
下载链接(提取码:2afm):https://pan.baidu.com/s/1sPqgyYqY06Z62jz2Up57MA
需要注意的是,下载好这些权重文件,在跑代码的时候需要将代码中所有的加载权重方式修改一下,都改为本地加载。
例如修改 pkl 的读取方式等。
很简单,这里就不一一说明了。
根据 ipynb 的说明,我们就可以顺利跑通所有代码。
完成模型训练和效果测试。
最后,一起看一下「张东升」的 「 Hairstyle Transfer 」效果吧!
就很“秃然”,有木有!
用自己照片试试看?一秒变超人。
5
「 Hairstyle Transfer 」 算法也有一些小问题,比如控制头发变少,图片的色调也会变暗。